﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CommonExtensions.IEnumerableExtensions;
using CommonExtensions.IListExtensions;
using CommonExtensions.ObjectExtensions;
using CommonExtensions.StringExtensions;
using StructureMap;

namespace DBMigrator.Core.DbObjects.Data.What
{
    public abstract class BaseWhat : IBaseWhat
    {
        public IAdditionalWhat AdditionalWhat { get; private set; }
        public IWhatColumnList ColumnList { get; private set; }
        
        protected BaseWhat(IAdditionalWhat additionalWhat, IWhatColumnList columnList)
        {
            if(additionalWhat.IsNull())
                throw new ArgumentNullException("additionalWhat");
            if(columnList.IsNull())
                throw new ArgumentNullException("columnList");

            AdditionalWhat = additionalWhat;
            ColumnList = columnList;
        }
    }
}
